NEWUSERS(8) | 系统管理命令 | NEWUSERS(8) |
名称¶
newusers - 批量更新和创建新用户
大纲¶
newusers [选项] [文件]
描述¶
The newusers command reads a file (or the standard input by default) and uses this information to update a set of existing users or to create new users. Each line is in the same format as the standard password file (see passwd(5)) with the exceptions explained below:
pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell
pw_name
既可以是新用户名也可以是现有用户名(也可以是 newusers 以前创建的用户)。现有用户时,将会更改用户信息,否则会创建新用户。
pw_passwd
pw_uid
如果此字段为空,newusers 会自动确定一个新的(未使用的)UID。
如果此字段包含一个数字,此数字会用于 UID。
如果此字段包含已经使用了的用户名(或者 newusers 在前边已经创建的一个用户),将会使用指定用户的 UID。
如果一个现有用户更改了 UID,此用户的文件所有权需要手动修复。
pw_gid
如果此字段包含一个现有组的组名(或者 newusers 在前边创建的一个组),此组的 GID 会被用于做此用户的主组 ID。
如果此字段是一个数字,此数字会被用作此用户的主组 ID。如果没有对应此 GID 的现有组,将会使用此 GID 创建一个新组,名称和用户名相同。
如果此字段为空,将会使用用户名作为组名,newusers 自动确定的一个 GID 作为主组 ID 来创建一个新组。
如果此字段包含一个不存在的组的名字(也没有由 newusers 在前边创建),将使用指定的组名和 newusers 自动确定的 GID 创建一个组,并作为用户的主组。
pw_gecos
pw_dir
If this field does not specify an existing directory, the specified directory is created, with ownership set to the user being created or updated and its primary group. Note that newusers does not create parent directories of the new user´s home directory. The newusers command will fail to create the home directory if the parent directories do not exist, and will send a message to stderr informing the user of the failure. The newusers command will not halt or return a failure to the calling shell if it fails to create the home directory, it will continue to process the batch of new users specified.
如果现有用户的主目录变更,newusers 不会移动或者复制旧目录的内容到新位置。这需要手动完成。
pw_shell
newusers 首先尝试创建或更改所有指定的用户,然后将这些更改写入用户或组数据库。如果发生错误(除非是在最后写入数据库过程中),不会有任何更改。
此命令一般用于在大型的应用环境中,对大量账户进行一次性更新。
选项¶
newusers 命令可以使用的选项有:
-c, --crypt-method
可用的方法有 DES, MD5, NONE, and SHA256 或 SHA512,前提是您的 libc 支持这写方法。
-h, --help
-r, --system
System users will be created with no aging information in /etc/shadow, and their numeric identifiers are chosen in the SYS_UID_MIN-SYS_UID_MAX range, defined in login.defs, instead of UID_MIN-UID_MAX (and their GID counterparts for the creation of groups).
-R, --rootCHROOT_DIR
-s, --sha-rounds
值 0 表示让系统为加密方法选择默认的轮转次数 (5000)。
会强制最小 1,000,最大 9,9999,9999
您只可以对 SHA256 或 SHA512 使用此选项。
默认,轮转数由 /etc/login.defs 文件中的 SHA_CRYPT_MIN_ROUNDS 和 SHA_CRYPT_MAX_ROUNDS 变量确定。
CAVEATS¶
输入文件必须受到保护,因为它包含未加密的密码。
您需要确保你吗和加密方法符合系统的密码策略。
配置文件¶
在 /etc/login.defs 中有如下配置变量,可以用来更改此工具的行为:
ENCRYPT_METHOD (string)
可以使用如下值:DES (default), MD5, SHA256, SHA512.
注意,此参数会覆盖 MD5_CRYPT_ENAB 变量。
GID_MAX (number), GID_MIN (number)
The default value for GID_MIN (resp. GID_MAX) is 500 (resp. 60000).
MAX_MEMBERS_PER_GROUP (number)
默认值是 0,意味着组中的成员数没有限制。
此功能(分割组)允许限制组文件中的行长度。这对于确保 NIS 组的行比长于 1024 字符。
如果要强制这个限制,可以使用 25。
注意:分割组可能不受所有工具的支持(甚至在 Shadow 工具集中)。您不应该使用这个变量,除非真的需要。
MD5_CRYPT_ENAB (boolean)
This variable is superseded by the ENCRYPT_METHOD variable or by any command line option used to configure the encryption algorithm.
此变量已经废弃。您应该使用 ENCRYPT_METHOD。
PASS_MAX_DAYS (number)
PASS_MIN_DAYS (number)
PASS_WARN_AGE (number)
SHA_CRYPT_MIN_ROUNDS (number), SHA_CRYPT_MAX_ROUNDS (number)
使用很多轮转,会让暴力破解更加困难。但是需要注意,认证用户时也会需要更多的 CPU 资源。
如果没有指定,libc 会选择默认的轮转数(5000)。
值必须在 1000 - 999,999,999 之间。
如果只设置了一个 SHA_CRYPT_MIN_ROUNDS 或 SHA_CRYPT_MAX_ROUNDS 值,就会使用这个值。
如果 SHA_CRYPT_MIN_ROUNDS > SHA_CRYPT_MAX_ROUNDS,将会使用大的那个。
SYS_GID_MAX (number), SYS_GID_MIN (number)
The default value for SYS_GID_MIN (resp. SYS_GID_MAX) is 201 (resp. GID_MIN-1).
SYS_UID_MAX (number), SYS_UID_MIN (number)
The default value for SYS_UID_MIN (resp. SYS_UID_MAX) is 201 (resp. UID_MIN-1).
UID_MAX (number), UID_MIN (number)
The default value for UID_MIN (resp. UID_MAX) is 500 (resp. 60000).
UMASK (number)
useradd 和 newusers 使用此掩码设置它们创建的用户主目录的模式。
也被 login 用于指定用户的初始 umask。注意,此掩码可以被用户的 GECOS 行覆盖(当设置了 QUOTAS_ENAB 时),也可以被带 K 指示符的 limits(5) 定义的限制值覆盖。
文件¶
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
/etc/login.defs
参见¶
2016-05-11 | shadow-utils 4.1.5.1 |